package com.woniuxy.core.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.woniuxy.entity.AllArticle;
import com.woniuxy.entity.DTO.ArticleUserDTO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @author nanqiao
 * @description 针对表【all_article(内容主表（帖子）)】的数据库操作Mapper
 * @createDate 2025-07-10 15:30:19
 * @Entity com.woniuxy.core.mapper.AllArticle
 */
public interface AllArticleMapper extends BaseMapper<AllArticle> {

    List<ArticleUserDTO> selectArticlesWithUsersByTypeId(Integer typeId);

    List<AllArticle> selectByTitleLike(@Param("title") String title);

    /**
     * 根据帖子ID查询用户ID
     *
     * @param articleId 帖子ID
     * @return 用户ID
     */
    Long selectUserIdByArticleId(Long articleId);
    /**
     * 根据用户ID查询所有帖子
     * @param userId 用户ID
     * @return 帖子列表
     */
    List<AllArticle> selectByUserId(Long userId);
    /**
     * 根据帖子ID查询帖子信息（包含点赞数）
     */
    AllArticle selectWithLikeCountById(Long id);
    /**
     * 根据帖子ID列表查询帖子信息（包含点赞数）
     */
    List<AllArticle> selectWithLikeCountByIds(@Param("ids") List<Long> ids);

}




